package com.weixin.pojo.message.kf;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.weixin.pojo.message.dto.ArticlesMessage;

/**
 * 类描述：发送客服图文消息<br>
 * <br/>
 * 创建人：邓强 <br>
 * 创建时间：2017年11月1日 下午5:34:43 <br>
 * 修改人： <br>
 * 修改时间：2017年11月1日 下午5:34:43 <br>
 * 修改备注： <br>
 * 
 * @version V1.0
 */
public class NewsKfMessage extends KfMessage {
	/**
	 * 多条图文消息信息，默认第一个item为大图,注意，如果图文数超过8，则将会无响应
	 */
	private Map<String, List<ArticlesMessage>> news;
	
	public NewsKfMessage() {
		super();
		setMsgtype("news");
		news = new HashMap<>();
		List<ArticlesMessage> articles = new ArrayList<>();
		news.put("articles", articles);
	}
	
	/**
	 * @param title		图文消息标题
	 * @param description	图文消息描述
	 * @param picUrl	图片链接，支持JPG、PNG格式，较好的效果为大图360*200，小图200*200
	 * @param url	点击图文消息跳转链接
	 */
	public NewsKfMessage(String title, String description, String picUrl, String url) {
		this();
		addArticle(title, description, picUrl, url);
	}

	public Map<String, List<ArticlesMessage>> getNews() {
		return news;
	}

	public void setNews(Map<String, List<ArticlesMessage>> news) {
		this.news = news;
	}
	
	/**
	 * 添加图文消息<br>
	 * <br>  
	 * 创建人：邓强   <br>
	 * 创建时间：2017年11月2日 上午9:54:53    <br> 
	 * 修改人：  <br>
	 * 修改时间：2017年11月2日 上午9:54:53   <br>  
	 * 修改备注：     <br> 
	 * @param title		图文消息标题
	 * @param description	图文消息描述
	 * @param picUrl	图片链接，支持JPG、PNG格式，较好的效果为大图360*200，小图200*200
	 * @param url	点击图文消息跳转链接
	 */
	public void addArticle(String title, String description, String picUrl, String url){
		if(news.get("articles").size()<8){
			news.get("articles").add(new ArticlesMessage(title, description, picUrl, url));
		}
		after();
	}
	
	public void addAllArticle(List<ArticlesMessage> articles){
		if(news.get("articles").size()<8){
			news.get("articles").addAll(articles);
		}
		after();
	}

	private void after(){
		if(news.get("articles").size()>8){
			news.put("articles",news.get("articles").subList(0, 8));
		}
	}
}